package org.sysdance.aplicativo.servico;

import org.sysdance.aplicativo.dao.LoginDAO;
import org.sysdance.aplicativo.entidade.Usuario;
import org.sysdance.aplicativo.excecao.DAOException;
import org.sysdance.aplicativo.excecao.ServicoException;
import org.sysdance.aplicativo.integracao.LoginIntegracao;

public class LoginServico implements LoginIntegracao{
    
    private LoginDAO loginDAO = new LoginDAO();
    
    @Override
    public Usuario logar(final String usuario, final String senha) throws ServicoException {
        try{
            if(this.isDadosNaoInformadosCorretamente(usuario, senha)){
                throw new ServicoException(ServicoException.MS_CAMPOS_OBRIGATORIOS);
            }    
            return this.loginDAO.logar(usuario, senha);
        }catch(DAOException d){
            throw new ServicoException(d.getMessage());
        }
    }
    
    public Boolean isDadosNaoInformadosCorretamente(final String usuario, final String senha){
        return ((usuario.isEmpty()) || (senha.isEmpty()));
    }
    
}
